﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

/*
强制动作条件参数设置命令：温室接收
第01字节：帧头58H (X)
第02字节：帧长 09H
第03字节：ID(1..40)
第04字节：风速上限低字节
第05字节：风速上限高字节
第06字节：风速上限确认时间低字节
第07字节：风速上限确认时间高字节
第08字节：雨雪信号ACC.0 00-none,01-rain
第09字节：校验字节AAH
 * **/

namespace YmSoft.Old
{
    [Msg(0x58, 0x09, 0xAA)]
    //[RecordTypeAttribute(ERecordType.RoomSetActionMsg)]
    [MsgVM]
    public class RoomSetActionMsg : MsgBase
    {
        public RoomSetActionMsg() : base() { }

        public RoomSetActionMsg(byte[] data) : base(data) { }

        [SP(0x03)]
        public byte Id { get; set; }

        [DP(0x04, 0x05)]
        [MsgVM]
        public short 风速上限 { get; set; }

        [DP(0x06, 0x07)]
        public short 风速上限确认时间 { get; set; }

        [MsgVM]
        public string 风速上限确认时间字符串
        {
            get
            {
                return OldUtility.ConvertShortToTimeString(风速上限确认时间);
            }
            set
            {
                风速上限确认时间 = OldUtility.ConvertTimeStringToShort(value);
            }
        }

        #region 雨雪

        [MsgVM]
        public byte 雨雪
        {
            get
            {
                return OldUtility.GetACC0(雨雪EX);
            }
            set
            {
                雨雪EX = (byte)(雨雪ACC + value);
            }
        }

        public byte 雨雪ACC { get; set; }

        [SP(0x08)]
        public byte 雨雪EX { get; set; }

        #endregion
    }
}
